import WebVjsonMix from './WebVjsonMix'
import ElementPlus from 'element-plus'
import YvVjsonDiv from './div/yv-vjson-div.jsx'
import YvVjsonAggrid from "./aggrid/YvVjsonAggrid.vue"
import YvVjsonSource from "./source/YvVjsonSource.vue"
import Split from './split/split.vue'
import SplitArea from './split/split-area.vue'
import YvVjsonSplit from './split/YvVjsonSplit.vue'
import DefaultLayoutMeta from "./layout/DefaultLayoutMeta"
import SimpleGridMeta from "./layout/SimpleGridMeta"
import ButtonMeta from "./button/ButtonMeta"
import ToolbarMeta from "./toolbar/ToolbarMeta"
import TreeMeta from "./tree/TreeMeta"
import draggable from './vuedraggable/vuedraggable'

import './web.css'
import '../../../assets/yv-font/iconfont.css'

export default {
    WebVjsonMix,
    install(Vue) {
        Vue.use(ElementPlus)

        // 注册布局
        Vue.use(DefaultLayoutMeta)
        Vue.use(SimpleGridMeta)

        // 注册组件
        Vue.use(ButtonMeta)
        Vue.use(ToolbarMeta)
        Vue.use(TreeMeta)

        // Vue.component('YvJsEditor', YvJsEditor)
        // Vue.component('YvSqlEditor', YvSqlEditor)
        // YvVjsonEzgrid.install(Vue)

        Vue.component('YvVjsonAggrid', YvVjsonAggrid)
        // Vue.component('YvVjsonButton', YvVjsonButton)
        Vue.component('YvVjsonDiv', YvVjsonDiv)
        Vue.component('YvVjsonSource', YvVjsonSource)

        Vue.component('Split', Split)
        Vue.component('SplitArea', SplitArea)
        Vue.component('YvVjsonSplit', YvVjsonSplit)
        Vue.component('draggable', draggable)
    }
}